package com.yt.order.models.service;

import com.baomidou.mybatisplus.service.IService;
import com.baomidou.mybatisplus.mapper.Wrapper;
import com.baomidou.mybatisplus.plugins.Page;
import com.yt.order.models.bo.DispatchRuleConfigSaveBO;
import com.yt.order.models.dto.DispatchRuleConfigDTO;
import com.yt.order.models.dto.DispatchRuleFilterDTO;
import com.yt.order.models.vo.DispatchRuleConfigVO;
import com.yt.order.models.vo.DispatchRuleConfigPageVO;

import java.util.List;

/**
 * 派单规则信息服务
 *
 * @author yzz
 * @Date 2025-09-03 14:17:40
 */
public interface IDispatchRuleConfigService extends IService<DispatchRuleConfigDTO> {
    boolean add(DispatchRuleConfigSaveBO saveBO);
    
    // 添加获取包含过滤条件的派单规则列表的方法
    List<DispatchRuleConfigVO> selectListWithFilters();
    
    // 添加根据ID获取包含过滤条件的派单规则的方法
    DispatchRuleConfigVO selectByIdWithFilters(Long id);
    
    // 分页查询包含过滤条件的派单规则
    DispatchRuleConfigPageVO selectPageWithFilters(Page<DispatchRuleConfigDTO> page, Wrapper<DispatchRuleConfigDTO> wrapper);
    
    // 根据规则ID获取过滤条件列表
    List<DispatchRuleFilterDTO> selectFiltersByRuleId(Long ruleId);
}